Python程序是怎样运行的?
本节我们就来介绍一下Python程序是如何运行的,先来问大家一个问题,计算机能够识别我们人类的语言吗?
计算机是没有思想的,它不能够理解我们人类的语言,当然也看不懂我们编写的代码。计算机能够理解的是机器语言也就是二进制,然而像这样一坨坨的0和1 我们人类又没有办法读懂
这就相当于中国人说汉语,而美国人说英语,语言不通 谁都不明白对方在说什么,这时就需要有一个翻译 把汉语翻译成英语,双方就可以沟通了。
同样的道理,我们编写的程序和计算机之间也需要有一个翻译
而这个翻译就是python解释器,解释器的工作原理比较复杂,我们就不详细展开了,简而言之,解释器会把python代码转化为计算机可以理解的机器码,比如我们输入命令print hello world,print hello world是源代码经过解释器解释,输入命令python hello.PY解释完成以后,最终转化为机器可以识别的机器码,在执行python程序时,计算机理解了这个机器码,最终在屏幕显示hello world。
执行程序时解释器是逐行读取源代码并且逐行解释,每执行一次就重复一次这样的工作,这其中耗费了大量的重复性的解释工作,为了减少这一重复性的工作,python引入了pyc文件,当下次再运行这个程序的时候,就不需要再解释了,直接使用pyc文件就可以了,这无疑大大提高了程序运行的速度
Python中常用的解释器
Python常见的解释器有三种,Cpython解释器、Jpython解释器和PYPY解释器,下面就分别介绍一下他们的之前有什么区别。
-
Cpython解释器 我们从python官网下载的python,就是这个Cpython解释器,Guido在创建python语言的时候,使用的就是C语言编写的解释器,所以它也被称之为Cpython
-
Jpython解释器 Jpython是运行在Java平台上的解释器,可以直接把python代码编译成Java字节码进行执行。
-
PYPY解释器 PYPY它是一个用python编写的python解释器,它的目标是执行速度,PYPY采用了GAT即时编译技术,对python代码进行了动态编译,所以可以显著的提高python代码的运行速度,但是由于PYPY和Cpython有一些不同,这就导致相同的python代码,在两种解释器下可能会有不同的结果,而我们最常用的就是python官网自带的Cpython解释器
思维导图小结
本节我们通过Python程序是怎样运行的?这个问题介绍了二进制的基础知识,知道了计算机使用二进制作为机器语言的优势,而为了让计算机能够执行我们编写的python代码需要使用解释器,将.PY文件转化为机器码,然后计算机才能够执行,最后我们又介绍了python常用的几种解释器,而我们使用最多的就Cpython解释器